package com.f21.f21assessoria.service;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.f21.f21assessoria.dao.CrudDao;
import com.f21.f21assessoria.dao.ErgonomiaDao;
import com.f21.f21assessoria.model.ergonometria.AgrupamentoAtividade;
import com.f21.f21assessoria.model.ergonometria.Atividade;
import com.f21.f21assessoria.model.ergonometria.Treinamento;
import com.f21.f21assessoria.model.ergonometria.TreinamentoBuilder;
import com.f21.f21assessoria.model.ergonometria.Treino;

@Service("ErgonometriaServ")
public class ErgonometriaServImp extends CrudServImp<Treinamento> implements
		ErgonometriaServ, Serializable {

	private static final long serialVersionUID = 1L;

	@Autowired
	private TreinamentoBuilder builder;

	@Autowired
	private ErgonomiaDao dao;

	@Override
	public Treinamento criarTreinamento() {

		return builder.criaTreinamento();
	}

	@Override
	public CrudDao<Treinamento> getDAO() {
		return dao;
	}

	@Override
	public void addTreino(Treinamento treinamento) {
		Treino treino = new Treino();
		addAgrupamento(treino);
		treino.setPos(treinamento.getListTreino().size() + 1);
		treinamento.addTreino(treino);
	}

	@Override
	public void addAgrupamento(Treino treino) {
		AgrupamentoAtividade agrupamentoAtividade = new AgrupamentoAtividade();
		Atividade atividade = new Atividade();
		Atividade atividade2 = new Atividade();
		Atividade atividade3 = new Atividade();
		agrupamentoAtividade.addAtividade(atividade);
		agrupamentoAtividade.addAtividade(atividade2);
		agrupamentoAtividade.addAtividade(atividade3);
		treino.addAgrupamentoAtividade(agrupamentoAtividade);
	}
}
